#pragma once
#include "DataStructure/Common/Id.h"
#include "DataStructure/Common/Real.h"
#include "DataStructure/Result/Optimization/OptimizationBase.h"

SG_DATASTRUCTURE_POST_NAMESPACE_OPEN

struct DISPResponseData : public OptimizationBase {
  SG::DataStructure::Common::Id m_IRID =
      0;  ///< Internal response identification number
  SG::DataStructure::Common::Id m_RID =
      0;                  ///< External response identification number
  char m_LABEL[8] = {0};  ///< Label
  SG::DataStructure::Common::I64 m_COMP = 0;  ///< Component number
  SG::DataStructure::Common::Id m_GRID = 0;   ///< Grid identification number
  SG::DataStructure::Common::Real m_RESPONSE = 0.0;  ///< Response value
  SG::DataStructure::Common::Id m_domainId = 0;      ///< Domain identifier
};

///< @brief 判断数据是否相等
DECLSPEC bool operator==(const DISPResponseData& val1,
                         const DISPResponseData& val2);

SG_DATASTRUCTURE_POST_NAMESPACE_CLOSE
